ЗАНЯТИЕ ВТОРОЕ

 

СОГЛАСОВАНИЕ ПАРАМЕТРОВ ОТНОШЕНИЙ

 

Очень часто при решении геометрических задач возникает необходимость многократно выполнить однообразные действия над объектами, которые изменяют свое пространственное положение. В таких случаях объект целесообразно рассматривать как представитель некоторого множества объектов, порождаемых в результате одной и той же операции, но отличающихся друг от друга своими значениями. По этой причине любая переменная в системе Симплекс рассматривается не как единичная, а как списочная переменная, в которой содержится совокупность объектов. Следует заметить, что количество объектов в списочной переменной не фиксируется каким-либо заранее заданным значением. Поэтому в списочную переменную могут быть занесены как один объект, так и множество объектов (системное ограничение - 16000). Списочная переменная может не содержать ни одного объекта.

Поскольку любой объект в Симплексе образуется в результате выполнения функции над одним или несколькими аргументами, которые в свете изложенного тоже представляют собой множества, следует рассмотреть некоторые наиболее часто применимые в решениях задач способы сопоставления множеств входных параметров отношений. Такое сопоставление в Симплексе получило название - согласование параметров. Указание конкретного вида согласования параметров в отношении осуществляется в панели описания отношений с помощью радиокнопок 17 или поля ввода комбинированного согласования 18.

 

Рисунок 1

 

Рассмотрим некоторые виды согласований параметров.

 

Простое согласование

Пусть имеются два упорядоченных множества элементов {A}m и {B}n, m>0, n>0. Назовем отображение (сопоставление) элементов двух исходных множеств {A}m и {B}n на множество {C}k простым согласованием (normal), если их элементы образуют тройки вида Ai, Bi ® Ci, i=1…min(m, n). Обозначение простого согласования: no(A, B)m,n. Из определения следует, что размерность k множества {C} вычисляется по формуле k=min(m, n), а само множество {C}k упорядочено.

Элементы Ai, или Bi, индексы i которых превышают k, в согласовании не участвуют.

Рисунок 2

Простое согласование коммутативно, т.е. записи вида Ai, Bi ® Ci и Bi Ai, ® Ci равносильны.

Пусть теперь требуется выполнить согласование упорядоченных множеств {C}k и {D}l с отображением на множество {E}j. Запишем Ci, Di ® Ei, i=1…min(k, l). Но так как Ci однозначно соответствует Ai, Bi , то будет справедливой запись Ai, Bi ,Di ® Ei, i=1…min(m, n, l). Т.о. определение простого согласования легко распространяется на произвольное количество исходных множеств:

Упорядоченные множества  согласуются простым образом с отображением на множество , если их элементы находятся в соответствии Ai, Bi , Xi ® Zi, , а индекс i изменяется в пределах i=1 … k, где k=n(Z)=min(n(A),  n(B), , n(X)). Обозначение: no(A, B, , X)k

Рисунок 3

 

Для указания простого согласования между входными параметрами отношения следует установить переключатель Простое в области 17 панели описания отношения. Альтернативным способом задания простого согласования является запись в поле 18 конструкции вида no(1,2), где числа указывают порядковый номер параметра в отношении. В отношениях, количество параметров превышает 2, например 4, допускается запись вида no(1,2,3,4). Того же результата можно добиться, если записать в поле 18 следующие выражения: no(no(no(1,2),3),4) или no(no(1,2),no(3,4)). Последние записи являются частным случаем комбинированного согласования, которое будет рассмотрено ниже.

 

Множественное согласование

Пусть имеются два упорядоченных множества элементов {A}m и {B}n, m>0, n>0. Назовем отображение элементов двух исходных множеств {A}m и {B}n на множество {C}k множественным согласованием (multiplicative), если их элементы образуют тройки вида (Ai, Bj ® C(i-1)n+j, j=1…n), i=1..m. Обозначение множественного согласования mu(A, B)m,n. Из определения следует, что размерность k множества {C} вычисляется по формуле k=m´n, а само множество {C}k упорядочено.

Рисунок 4

 

Множественное согласование в общем случае не коммутативно, результат отображения элементов Ai, Bi ® Ci зависит от порядка следования A и B, т.е. записи вида mu(A, B)m,n и mu(B, A)n,m не равносильны.

Важно отметить важные частные случаи, при которых множественное согласование становится коммутативным:

A1Ì{A}1, BiÌ{B}n ® Ci Û BiÌ{B}nA1Ì{A}1 ® Ci

AiÌ{A}m, B1Ì{B}1 ® Ci Û B1Ì{B}1AiÌ{A}m ® Ci

или

mu(A, B)1,n Û mu(B, A)n,1

mu(A, B)m,1 Û mu(B, A)1,m

Рисунок 5

 

Для указания множественного согласования между входными параметрами отношения следует установить переключатель Множ в области 17 панели описания отношения. Альтернативным способом задания множественного согласования является запись в поле 18 конструкции вида mu(1,2) или mu(2,1), где числа указывают порядковый номер параметра в отношении.

 

Сдвиговое согласование

Пусть имеются два упорядоченных множества элементов {A}m и {B}n, m>0, n>1. Назовем отображение элементов двух исходных множеств {A}m и {B}n на множество {C}k сдвиговым согласованием (shift), если их элементы образуют тройки вида Ai, Bi+1 ® Ci, i=1…min(m, n)-1. Обозначение сдвигового согласования sh(A, B)m,n. Из определения следует, что размерность k множества {C} вычисляется по формуле k=min(m, n)-1, а само множество {C}k упорядочено.

Рисунок 6

Элементы Ai, i>min(m, n)-1, B1, Bi, i>min(m, n) в согласовании не участвуют.

Сдвиговое согласование в общем случае не коммутативно, т.е. записи вида sh(A, B)m,n и sh(B, A)n,m не равносильны.

Представляет интерес вид сдвигового согласования при AºB: sh(A, BºA)m,n=m. Элементы B1, An, в согласовании не участвуют.

В данном случае сдвиговое согласование коммутативно, т.е. записи вида Ai, Bi+1ºAi+1 ® Ci и Bi ºAi, Ai+1® Ci равносильны.

Для указания сдвигового согласования между входными параметрами отношения следует установить переключатель Сдвиг в области 17 панели описания отношения. Альтернативным способом задания множественного согласования является запись в поле 18 конструкции вида sh(1,2) или sh(2,1), где числа указывают порядковый номер параметра в отношении.

 

Циклическое сдвиговое согласование

 

Пусть имеются два упорядоченных множества элементов {A}m и {B}n, m>1, n³m. Назовем отображение элементов двух исходных множеств {A}m и {B}n на множество {C}k циклическим сдвиговым согласованием (cycle shift), если их элементы образуют тройки вида Ai, Bi+1 ® Ci, i=1…m-1, Am, B1 ® Cm. Обозначение: cs(A, B)m,n. Из определения следует, что размерность k множества {C} вычисляется по формуле k=m, а само множество {C}k упорядочено.

 

Рисунок 7

Элементы B1, Bi, i>m в согласовании не участвуют.

Сдвиговое согласование в общем случае не коммутативно, т.е. записи вида cs(A, B)m,n и cs(B, A)n,m неравносильны.

Представляет известный интерес вид циклического сдвигового согласования при A совпадающем с B. В данном случае циклическое сдвиговое согласование коммутативно cs(A, B=A)m,n=m = cs(B=A, A)n=m,m.

Для указания циклического сдвигового согласования между входными параметрами отношения следует установить переключатель Ц. Сдвиг в области 17 панели описания отношения. Альтернативным способом задания множественного согласования является запись в поле 18 конструкции вида cs(1,2) или cs(2,1), где числа указывают порядковый номер параметра в отношении.

 

 

Рисунок 8

 

Реверсивное соответствие

Для того чтобы изменить порядок выбора элементов множества при выполнении отношения применяется функция реверсивного соответствия.

Пусть имеются упорядоченное множество элементов {A}m, m>1. Отображение элементов множества {A}m на множество {C}k назовем реверсивным соответствием, если их элементы образуют пары вида  Ai  ® Cm-I+1.

 

 

Рисунок 9

 

Обозначение реверсивного соответствия: re(A)m. Для задания реверсивного соответствия используется поле 18 в панели описания отношения. Так, например, если требуется изменить порядок следования элементов множества {A}m при задании множественного согласования между множествами {A}m (первого параметра) и {B}n (второго параметра), то в поле 18 следует занести следующую запись: mu(re(1),2).

 

Комбинированное согласование

При количестве входных параметров отношения, превышающем 2, применяется комбинированное согласование параметров.

Рассмотрим принцип комбинированного согласования на примере отношения с тремя входными параметрами {A}, {B} и {С}. Выделим пару входных параметров {A} и {B} и установим между ними согласование параметров (например, простое):

no(1,2).

Тогда эта пара отображается на некоторое промежуточное упорядоченное множество {AB}. Теперь, рассматривая {AB} как новое множество установим между ним и  {С} множественное согласование:

mu(no(1,2),3).

Получаем множество {D}, для которого реализовано сложное комбинированное согласование.

Конкретные виды комбинированного согласования параметров определяются целями решаемой задачи. При задании комбинированного согласования в его записи  должны быть учтены все параметры отношения, взятые по одному разу, в противном случае система обнаружит ошибку ввода данных, и отношение не будет занесено в алгоритм.

 

 

Рисунок 10

 

 

ПРАКТИЧЕСКАЯ ЧАСТЬ

 

Задание

 

Выполнить построения с помощью системы Симплекс в соответствии с излагаемым материалом. Представить полученные графические схемы на проверку преподавателю.

 

Учебная цель:

 

Изучение методов многократного выполнения однотипных геометрических построений на основе согласования входных параметров отношений.

 

 

Вызовем панель задания функции Ввод чисел и в параметр Числа внесем четыре числа 10,20,30,40, разделенных запятыми. Вызовем панель отображения числовых эквивалентов объектов (меню Протокол/Объектов) и укажем на переменную c1. В ней будет содержаться четыре числа.

 

 

 

Рисунок 11

 

Рисунок 12

 

Пользуясь переменной c1, построим точки с координатами X=с1 и Y=с1. Между компонентами параметров функции установится соответствие вида (10 - 10), (20 - 20), (30 - 30) и (40 - 40), если в зоне Согласование параметров указан Простой вид согласования. Обратим внимание на то, что в результате выполнения функции образовалось множество точек p1. В панели значений объектов укажем на переменную p1 и посмотрим, какие значения получили координаты точек множества p1. Для того чтобы отобразить в поле чертежа имена точек с порядковыми индексами, нажмем функциональную клавишу F5, в появившейся панели Метки объектов выберем тип объектов Точки и включим флажок Индексы.

 

 

 

 

Рисунок 13

Рисунок 14

Рисунок 15

Рисунок 16

Рисунок 17

 

Теперь изменим вид согласования на Множественное. Обратим внимание на то, каким образом сформировались координаты точек множества p1.

 

 

 

Рисунок 18

Рисунок 19

Рисунок 20

Рисунок 21

 

Построим все возможные отрезки между точками множества p1. Для этого выполним следующую функцию, применяя множественное согласование параметров.

 

 

 

 

Рисунок 22

 

Рисунок 23

 

Построим отрезки между точками множества p1, применяя сдвиговое согласование параметров. Данное согласование позволило последовательно соединить точки множества p1 ломаной линией, состоящей из отрезков-звеньев множества o1.

 

 

 

Рисунок 24

Рисунок 25

 

Если в той же функции применить циклическое сдвиговое согласование, то получим замкнутую ломаную линию.

 

 

 

 

Рисунок 26

 

Рисунок 27

 

 

 

Рассмотрим особенности практического применения различных видов согласования параметров на примере двух простых задач.

 

 

Конструирование синусоидальной кривой

 

Окружность заданного радиуса  делим на произвольное число равных частей (в конкретном примере 12). Через центр проводим горизонтальную линию — ось ОХ. Выберем на оси OX точку A и вычертим направление оси У. По оси ОХ откладываем отрезок АВ = 2pR и делим на такое же число равных частей, как и окружность. Точки 1, 2, 3, … 12 деления равны 1/12 длины окружности. Если теперь из точек 1, 2, 3, … 12 восстановить перпендикуляры и пересечь их с горизонтальными линиями, проведенными через одноименные деления 1, 2, 3, … 12 окружности параллельно АВ, то в пересечении образуются точки 1, 2, 3, … 12, принадлежащие синусоиде. Полученные точки обычно соединяют ломаной или лекальной плавной кривой.

 

 

Рисунок 28

 

 

Реализуем рассмотренное построение с помощью системы Симплекс. Выберем на плоскости положение центра окружности (p1). Укажем  эту точку с помощью мыши, пользуясь функцией Свободная точка. В нашем примере ее координата X= –250, а Y=0.

 

Рисунок 29

 

Точка <p1> задана координатами <-250> и <0>. Согласование "Простое".

 

 

Проведем окружность d1 с центром в точке p1 радиусом 100.

 

 

 

Рисунок 30

Рисунок 31

 

Окружность <d1> задана центром <p1> и радиусом <100>. Согласование "Простое".

 

Выразим ось OX прямой o1, для чего проведем через точку p1 прямую линию под углом 0 градусов к горизонтальной оси OX.

 

 

 

Рисунок 32

 

Прямая <o1> задана точкой  <p1> и углом <0> к оси OX. Согласование "Простое".

Рисунок 33

 

Пользуясь инструментом , укажем некоторое (произвольное) положение точки A на оси OX. В алгоритме эта точка получит имя p2. Для того чтобы переименовать p2 в a

1) выделим эту точку;

2) нажмем правую кнопку мыши над чертежом для вызова всплывающего меню;

3) выберем пункт меню Переименовать;

4) в панели Переименование укажем новое имя точки a и нажмем кнопку Переименовать.

 

Рисунок 34

 

Точка <p2> принадлежит объекту <o1> с параметром принадлежности <1.469>. Согласование "Простое".

Рисунок 35


Рисунок 36

Рисунок 37

Рисунок 38

 

Точка <a> принадлежит объекту <o1> с параметром принадлежности <1.469>. Согласование "Простое".

 

 

Проведем вертикальную ось Y как отрезок o2, проходящий через точку a под углом 90 градусов к горизонтальной оси OX.

 

 

 

Рисунок 39

Рисунок 40

 

Определим длину c1 окружности d1.

 

 

 

Рисунок 41

 

Величина <c1> есть длина отрезка <d1>. Согласование "Простое".

Рисунок 42

 

Отложим вправо от точки a точку b на расстояние c1.

 

 

 

Рисунок 43

 

Точка <b> задана относительно точки <a> с приращениями по X  <c1>  и Y <0>. Согласование "Простое".

Рисунок 44

Создадим новый слой слой1 и перенесем на него прямую o1.

 

Рисунок 45

Рисунок 46

Рисунок 47

 

Проведем отрезок o3 между точками a и b.                                                 

 

 

Рисунок 48

 

Прямая <o3> задана точками  <a> и <b>. Согласование "Простое".

Рисунок 49

 

Зададим количество n участков разбиения окружности и отрезка. Пусть равно 12.

 

 

Рисунок 50

 

Величина <n> есть <12>. Согласование "Простое".

Рисунок 51

Для задания множества точек, делящих окружность на равные дуги, выполним следующее:

1) Вызовем панель задания функции Точка принадлежит объекту.

2) В качестве первого параметра функции укажем окружность d1.

3) Для указания параметров, определяющих положение точек, принадлежащих окружности, воспользуемся специальной синтаксической конструкцией системы Симплекс – интервалом. Для этого нажмем на кнопку K, расположенную около поля ввода второго параметра функции. На экран будет выведена панель конструктора выражений.

4) В поле От введем число 0. Параметр 0 определяет положение крайней правой точки окружности.

5) В поле До введем число 1. Параметр 1 соответствует одному обороту вокруг окружности от положения точки с параметром 0. Таким образом мы указываем область деления дуги окружности, равной самой окружности.

6) В поле Интервалов введем величину n.

Использование конструкции-интервала позволяет создать множество равномерно распределенных величин в интервале от 0 до 1 в количестве n+1 штук.

Поскольку теперь второй параметр функции, заданный интервалом, является носителем 13 (т.е. n+1) чисел, то для построения множества p2 равномерно распределенных на единственной окружности d1 точек необходимо установить множественное согласование параметров.

 

 

 

 

Рисунок 52

Рисунок 53

Рисунок 54

 

 

Рисунок 55

 

 

Рисунок 56

 

Точка <p2> принадлежит объекту <d1> с параметром принадлежности <[0~1~n]>. Согласование "Множественное".

Рисунок 57

 

Аналогично на отрезке o3 построим множество точек p3.

 

 

 

Рисунок 58

 

Точка <p3> принадлежит объекту <o3> с параметром принадлежности <[0~1~n]>. Согласование "Множественное".

Рисунок 59

 

Через множество точек p3 проведем множество прямых линий o4 под углом 90 градусов к вертикали. Поскольку точки p3 составляют множество, а число 90 единственно, то для получения множества прямых o4 в функции необходимо применить множественное согласование параметров.

 

 

 

Рисунок 60

 

Прямая <o4> задана точкой  <p3> и углом <90> к оси OX. Согласование "Множественное".

Рисунок 61

 

Через множество точек p2 проведем множество прямых линий o5 под углом 0 градусов к вертикали. Поскольку точки p2 составляют множество, а число 0 единственно, то для получения множества прямых o5 в функции необходимо применить множественное согласование параметров.

 

 

 

 

Рисунок 62

 

Прямая <o5> задана точкой  <p2> и углом <0> к оси OX. Согласование "Множественное".

Рисунок 63

 

Найдем точки пересечения прямых множества o5 с прямыми множества o4. Поскольку каждой прямой из o5 соответствует своя (и только своя) прямая из множества o4, то для получения множества p4 точек синусоиды следует применить простое согласование параметров.

 

 

Рисунок 64

 

Точка <p4> есть пересечение прямых  <o5> и <o4>. Согласование "Простое".

Рисунок 65

 

Перенесем вспомогательные линии построения o4  и o5 на слой1.

 

Рисунок 66

Рисунок 67

Рисунок 68

Рисунок 69

 

Проведем через точки множества p4 отрезки прямых o6, аппроксимирующих синусоиду. Поскольку каждая точка из p4 должна быть соединена со следующей за ней по порядку точкой, воспользуемся сдвиговым согласованием параметров в функции Прямая двумя точками. Следует обратить внимание на то, что и в первом, и во втором параметре функции указана одна и та же списочная переменная.

 

 

 

Рисунок 70

 

Прямая <o6> задана точками  <p4> и <p4>. Согласование "Сдвиговое".

Рисунок 71

 

Перенесем объекты p2, p3  и p4 на слой1.

 

Рисунок 72

Рисунок 73

Рисунок 74

 

Теперь можно изменить количество разбиений n. Зададим n, равным 100. Ломаная линия, аппроксимирующая синусоиду, станет более плавной.

 

Рисунок 75

 

 

Рисунок 76

 

 

Рисунок 77

 

Величина <n> есть <12>. Согласование "Простое".

Рисунок 78

Рисунок 79

 

Попробуем теперь, к примеру, найти точки пересечения только что построенной синусоиды с произвольно заданной прямой. Для этого, пользуясь инструментом , зададим прямую o7.

 

Рисунок 80

 

Поскольку синусоида представлена множеством отрезков o6, то для нахождения точек пересечения синусоиды с линией o7 выполним функцию Точка пересечения прямых o7 и o6, применяя множественное согласование параметров. При данном согласовании прямая o7 будет пересекаться со всеми отрезками множества o6. Те из них, которые действительно пересекаются прямой o7, образуют точки пересечения множества p5, остальные отрезки, пересечение которых с o7 невозможно, образуют т.н. объекты с неопределенным значением (nil-объеткы). Nil-объеткы на чертеже не отображаются, но они учитываются как полноправные объекты в множестве выходных параметров функции.

 

   

 

 

Рисунок 81

Рисунок 82

 

Nil-объекты возможно и не учитывать в выходном параметре функции, если в таком учете нет необходимости. Для этого следует «снять» флажок NIL возле поля ввода параметра Точка в панели задания функции. Следует обратить внимание на различие значений индексов при включенном и выключенном флажке NIL.

 

 

 

Рисунок 83

Рисунок 84

 

 

Развертка круга (эвольвента)

 

Обернем вокруг окружности нерастяжимую нить длиной, равной длине окружности, так, чтобы один конец ее был закреплен в точке 0, а другой, к которому был бы прикреплен карандаш, был свободен. Держа карандаш перпендикулярно к бумаге и натягивая нить так, чтобы она все время была бы касательной к окружности, начнем разматывать ее, чертя при этом карандашом по бумаге. Графит оставит за собой след - кривую линию, называемую разверткой круга или эвольвентой. Если взять, например, точку 6 развертки, то длина касательной к окружности, проходящей через эту точку, будет равняться длине части окружности от нулевой до шестой точки, так как касательная здесь, по сути, есть нить, развернутая (смотанная) с окружности (или цилиндра).

Для построения точек эвольвенты проводим две пересекающиеся в точке O взаимно перпендикулярные оси. Из точки О очерчиваем окружность заданного радиуса R и делим ее на любое число равных частей (в данном примере 12), которые последовательно пронумеруем. Перпендикулярно к горизонтальному диаметру вниз от точки 0 проводим вертикальную линию, на которой откладываем длину окружности 2pR = 6,28R.

Вертикальную линию делим на такое же число равных частей, что и окружность (так же 12).

В каждой точке окружности перпендикулярно к радиальному отрезку, проведенному из этой точки в центр окружности, строим касательные прямые линии, направленные в сторону предыдущего деления, т. е. из 1 в сторону 0, из 2 в сторону 1, и т. д., как показано на рисунке. На касательных от точек касания последовательно откладываем из точки 1 отрезок, равный 1/12 длины окружности и измеренный по вертикальной касательной; из точки 2 — отрезок, равный 2/12; из точки 3 —отрезок, равный 3/12; из точки 4отрезок, равный 4/12, и т. д. Конец каждой касательной определяет положение точек 1, 2, 3, 4, 5,..., 12 развертки круга. Полученные точки обычно соединяют лекальной кривой. При компьютерном построении эвольвенты точки соединяют отрезками прямых линий, но количество разбиений окружности и вертикального отрезка существенно увеличивают, обеспечивая тем самым необходимую точность построений.

 

Рисунок 85

 

Выполним теперь построение эвольвенты с применением системы Симплекс.

Укажем положение центра окружности – точку p1. Для определенности установим ее координаты X=0 и Y=0.

 

 

 

Рисунок 86

 

Точка <p1> задана координатами <0> и <0>. Согласование "Простое".

Рисунок 87

 

Теперь проведем с центром в точке p1 окружность d1, для которой будет строиться эвольвента. Радиус окружности можно выбрать произвольно. В рассматриваемом примере он равен 100.

 

 

Рисунок 88

 

Окружность <d1> задана центром <p1> и радиусом <100>. Согласование "Простое".

Рисунок 89

 

В переменную n занесем значение, определяющее количество разбиений окружности d1 на дуги равной длины. Во время проектирования алгоритма это число не должно быть слишком большим, так как чертеж может оказаться «перенасыщенным» линиями. С другой стороны, малое значение n может исказить вид проектируемой кривой, и чертеж, задающий алгоритм, станет невыразительным. В данном примере n=12, что позволяет получить вполне удовлетворительный результат. В дальнейшем n будет увеличено до 100, что обеспечит качественное изображение эвольвенты.

 

 

 

Рисунок 90

 

Величина <n> есть <12>. Согласование "Простое".

Рисунок 91

 

Разместим на окружности d1 n+1 точку, равномерно разбивающих эту окружность на n частей. Для этой цели используем функцию Точка принадлежит объекту. Параметр положения точки на окружности задан интервалом [0~1~n].

 

 

 

Рисунок 92

 

Точка <p2> принадлежит объекту <d1> с параметром принадлежности <[0~1~n]>. Согласование "Множественное".

Рисунок 93

 

Определим длину окружности d1, для чего занесем ее в списочную переменную c1, выполняя соответственную функцию.

 

 

 

 

Рисунок 94

 

Величина <c1> есть длина отрезка <d1>. Согласование "Простое".

Рисунок 95

 

Для определения длины «смотанной» части нити, исходящей из точек множества p2, следует выполнить следующее построение:

1. Построить отрезок, длина которого равна длине окружности d1.

2. Разделить полученный отрезок на n равных частей. Тогда длина отрезка разбиения будет равна длине дуги разбиения окружности.

Установив такое соответствие между точками разбиения окружности и точками разбиения отрезка, можно констатировать, что длина смотанной части нити, исходящей из точки p2i будет равна расстоянию от начала отрезка до соответственной i-ой точки разбиения отрезка.

Произвольно укажем точку одного из концов отрезка. Пусть эта точка будет называться p3. Ее можно задать либо координатами, либо указать как свободную точку.

 

 

 

Рисунок 96

 

Точка <p3> задана координатами <-220> и <174.4>. Согласование "Простое".

Рисунок 97

Второй конец отрезка (точку p4) определим при помощи отношения Точка относительно точки по приращениям.

 

 

 

Рисунок 98

 

Точка <p4> задана относительно точки <p3> с приращениями по X  <c1>  и Y <0>. Согласование "Простое".

Рисунок 99

Теперь между точками p3 и p4 проведем отрезок o1.

 

 

 

Рисунок 100

 

Прямая <o1> задана точками  <p3> и <p4>. Согласование "Простое".

Рисунок 101

 

Разместим на прямой o1 n+1 точку, равномерно разбивающих его на n частей. Используем функцию Точка принадлежит объекту. Параметр положения точки на окружности задан интервалом [0~1~n].

 

 

 

Рисунок 102

 

Точка <p5> принадлежит объекту <o1> с параметром принадлежности <[0~1~n]>. Согласование "Множественное".

Рисунок 103

 

Построим радиальные отрезки o2 между центром p1 окружности d1 и множеством точек p2.

 

 

Рисунок 104

 

Прямая <o2> задана точками  <p1> и <p2>. Согласование "Множественное".

Рисунок 105

 

Выделим полученные отрезки o2, для того чтобы изменить тип линии с ограниченного на положительно направленный луч.

Рисунок 106

Рисунок 107

Проведем касательные к окружности d1 в точках p2. Для этого воспользуемся функцией Прямая через точку под углом к прямой. В данной функции необходимо применить комбинированное согласование. Каждой прямой множества o2 (первый параметр) соответствует единственная точка из множества p2 (второй параметр). Поэтому для этих параметров следует применить простое согласование no(1,2). Теперь каждой паре вида Прямая из множества o2 – точка из множества p2  соответствует одно единственное число 90 (третий параметр). Следовательно, для описания соответствия множеств следует применить множественное согласование вида mu(no(1,2),3).

 

 

 

Рисунок 108

 

Прямая <o3> проведена через точку <p2> под углом <90> к прямой <o2>. Согласование "mu(no(1,2),3)".

Рисунок 109

 

 

Измеряя расстояние между точкой p3 и последовательностью точек множества p5, получим длины смотанной части нити для каждого участка разбиения окружности d1.  Поскольку каждой точке из множества p5 соответствует единственная точка p3, то для получения множества расстояний в функции Расстояние между точками c2 следует применить множественное согласование.

 

 

 

Рисунок 110

 

Величина <c2> есть расстояние между точками <p3> и <p5>. Согласование "Множественное".

Рисунок 111

Для построения точек p6 эвольвенты применим функцию Точка относительно точки по расстоянию и направлению. Согласование всех трех параметров простое. Направление в данной функции задается направлением прямой o3.

 

 

 

 

Рисунок 112

 

Точка <p6> отстоит от точки <p2> на расстоянии <-c2> по направлению <o3> . Согласование "Простое".

Рисунок 113

 

Перенесем прямые o3 на вспомогательный слой. Для этого выделим их и перетащим выделение на красный фон переключателя слоев. Система предложит сформировать новый слой слой1 и после получения подтверждения переместит прямые на этот слой.

Рисунок 114

Рисунок 115

Рисунок 116

Рисунок 117

 

Применим сдвиговое согласование при построении ломаной линии o4, проходящей через точки множества p6.

 

 

Рисунок 118

 

Прямая <o4> задана точками  <p6> и <p6>. Согласование "Сдвиговое".

Рисунок 119

 

Заканчивая построение эвольвенты, увеличим число n до 100.

 

 

 

Рисунок 120

 

Величина <n> есть <100>. Согласование "Простое".

Рисунок 121